package com.example.base.aop.click

import android.os.SystemClock
import android.util.Log
import kotlin.math.abs

/**  快速重复点击判别工具类  **/
object RepeatClickTool {

    /**  上一次触发点击事件的时间  **/
    private var lastClickTime: Long = 0

    /**
     * 是否为短时间内快速重复点击
     * @param intervalMillis 间隔时间
     */
    fun isFastRepeatClick(intervalMillis: Long): Boolean {
        val nowTime = SystemClock.elapsedRealtime()
        val timeInterval = abs(nowTime - lastClickTime)

        // 若时间间隔小于 目标间隔时长, 则判断为短时间内重复点击
        return if (timeInterval > intervalMillis) {
            lastClickTime = nowTime
            false
        } else true
    }

}